During operation, computer programs may allocate memory to various objects in order to perform operations involved in executing the programs. When computer programs fail to de-allocate memory from objects that are no longer used, available memory reduces unnecessarily, which may have a negative impact on performance and may lead to system failures (e.g., when no additional memory is available).